<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<style type="text/css"> 
    #slideDown{margin-top: 0;width: 100%;} 
         #slideDown1,#slideDown2{width: 100%;height: 70px;;background: #e9f4f7;display: none;} 
         #slideDown1{height: 20px;} 
         #slideDown1>p,#slideDown2>p{margin: 20px auto;text-align:center;font-size: 14px;color: #37bbf5;} 
</style> 
<body>
	
    <div id="content"> 
        <div id="slideDown"> 
            <div id="slideDown1"> 
                <p>松开刷新</p> 
            </div> 
            <div id="slideDown2"> 
                <p>正在刷新 ...</p> 
            </div> 

            <div id="slideDown3" style="display: none"> 
                <p>da sd adas dasd asd ad ad ad a</p> 
            </div>
        </div> 
        <div class="myContent"> 
            <ul> 
                <li>item1 -- item1 -- item1</li> 
                <li>item2 -- item2 -- item2</li> 
                <li>item3 -- item3 -- item3</li> 
                <li>item4 -- item4 -- item4</li> 
                <li>item5 -- item5 -- item5</li> 
                <li>item6 -- item6 -- item6</li> 
                <li>item7 -- item7 -- item7</li> 
            </ul> 
        </div> 
    </div> 
</body>
</html>
<script>
	

	 //第一步：下拉过程 
    function slideDownStep1(dist){  // dist 下滑的距离，用以拉长背景模拟拉伸效果 
        var slideDown1 = document.getElementById("slideDown1"), 
            slideDown2 = document.getElementById("slideDown2"); 
        slideDown2.style.display = "none"; 
        slideDown1.style.display = "block"; 
        slideDown1.style.height = (parseInt("10px") - dist) + "px"; 
    } 
    //第二步：下拉，然后松开， 
    function slideDownStep2(){  
        var slideDown1 = document.getElementById("slideDown1"), 
            slideDown2 = document.getElementById("slideDown2"); 
        slideDown1.style.display = "none"; 
        slideDown1.style.height = "20px"; 
        slideDown2.style.display = "block"; 
        //刷新数据 
        //location.reload(); 
    } 
    //第三步：刷新完成，回归之前状态 
    function slideDownStep3(){  
        var slideDown1 = document.getElementById("slideDown1"), 
            slideDown2 = document.getElementById("slideDown2"); 
        slideDown1.style.display = "none"; 
        slideDown2.style.display = "none"; 
    } 
 
    //下滑刷新调用 
    k_touch("content","y"); 
    //contentId表示对其进行事件绑定，way==>x表示水平方向的操作，y表示竖直方向的操作 
    function k_touch(contentId,way){  
        var _start = 0, 
            _end = 0, 
            _content = document.getElementById(contentId); 
        _content.addEventListener("touchstart",touchStart,false); 
        _content.addEventListener("touchmove",touchMove,false); 
        _content.addEventListener("touchend",touchEnd,false); 
        function touchStart(event){  
            //var touch = event.touches[0]; //这种获取也可以，但已不推荐使用 
 
            var touch = event.targetTouches[0]; 
            if(way == "x"){  
                _start = touch.pageX; 
            }else{  
                _start = touch.pageY; 
            } 
        } 
        function touchMove(event){  
            var touch = event.targetTouches[0]; 
            if(way == "x"){  
                _end = (_start - touch.pageX); 
            }else{  
                _end = (_start - touch.pageY); 
                //下滑才执行操作 
                if(_end < 0){ 
                    slideDownStep1(_end); 
                } 
            } 
 
        } 
        function touchEnd(event){  
            if(_end >0){  
                console.log("左滑或上滑  "+_end); 
            }else{  
                console.log("右滑或下滑"+_end); 
                slideDownStep2(); 
                //刷新成功则 
                //模拟刷新成功进入第三步 
                setTimeout(function(){  
                    slideDownStep3(); 
                     var slideDown3 = document.getElementById("slideDown3");
                      slideDown3.style.display = "block"; 
                     slideDown3++;
                },2500); 
            } 
        } 
    } 
</script> 